package com.cx.base.day23_Redis.jedis;

import lombok.extern.slf4j.Slf4j;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
 * @Author: robert.song
 * @Date: Created in 2022/3/15
 */
@Slf4j
public class RedisDemo02_ConnectorPool {
    private static final JedisPool jedisPool;

    static {
        JedisPoolConfig poolConfig = new JedisPoolConfig();
//        空闲时期保持的连接数是动态的
//        最大空闲连接数
        poolConfig.setMaxIdle(8);
//        最小空闲连接数
        poolConfig.setMinIdle(0);
//        繁忙时期连接数不够，需要创建更多连接对象
//        最大连接数
        poolConfig.setMaxTotal(8);
        jedisPool = new JedisPool(poolConfig, "127.0.0.1", 6379, 1000, null);
    }

    public static Jedis getJedis() {
        return jedisPool.getResource();
    }

    public static void main(String[] args) {
        Jedis jedis = null;
        log.debug("test");
        try {
            jedis = getJedis();
//          jedis.auth("...");
//          然后就可以执行内容了
            jedis.select(0);
            jedis.set("key1", "val1");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }


    }
}
